#ifndef RENDERER_H
#define RENDERER_H

#include <qglviewer.h>
#include "scene_object.h"

#include <QMatrix4x4>
#include <QVector3D>
#include <QVector4D>
#include <QOpenGLShaderProgram>
#include <QOpenGLBuffer>
#include <QOpenGLVertexArrayObject>
#include <QOpenGLFunctions_3_0>



class Renderer : public QGLViewer
{
public:
    Renderer(QWidget *parent);
    ~Renderer();

    void init();
    virtual void draw();
    Light getLight();

protected:


private:
    void createObjects();
    void setupLighting();

    QVector<SceneObject*> _objects;
    //SceneObject _mainObject;

    Light _light;
};

#endif // RENDERER_H
